import queue
# 优先级队列,默认数字最小的优先,字符串按字母表排序
q1 = queue.PriorityQueue()
q1.put(3)
q1.put(5)
q1.put(1)
while not q1.empty():
    print(q1.get())
# 自定义元素需要定义优先级字段和比较规则
class Job(object):  # 定义队列元素
    def __init__(self, priority, desc):
        self.priority = priority
        self.desc = desc
    # 定义优先规则,按大或者按小优先
    def __lt__(self, other):
        return self.priority < other.priority
    def __str__(self):
        return "(%s,%s)"%(self.priority,self.desc)
q2 = queue.PriorityQueue()
q2.put(Job(5, "支付"))
q2.put(Job(3, "注册"))
q2.put(Job(8, "清空购物车"))
while not q2.empty():
    print(q2.get())

